# handle_decorator
# 2024/10/27
# author:www
import time
# 在一个函数中定义一个函数，内置函数使用外函数的一个变量，外函数返回值是内函数的函数对象
def show_time(func): # 外函数有一个参数，是测试用例(函数对象)
    def inner(*args): # 函数内部定义一个函数
        start = time.time()
        res = func(*args) # 调用参数的函数对象
        end = time.time()
        print('测试用例的执行时间：',end - start)
        return res
    return inner    # 内函数无法直接调用，返回内置函数的函数对象

@show_time # 语法糖(装饰器用法)，等价于case_t1 = show_time(case_t1)
# case_t1 = show_time(case_t1)等同于case_t1=inner
def case_t1():
    # 在下面的代码行中使用断点来调试脚本。
    print('测试用例一：执行开始！')  # 按 Ctrl+F8 切换断点。
    time.sleep(1)

@show_time
def case_t2():
    # 在下面的代码行中使用断点来调试脚本。
    print('测试用例二：执行开始！')  # 按 Ctrl+F8 切换断点。
    time.sleep(1)



if __name__ == '__main__':
    # case_t1 = show_time(case_t1) # 加了装饰器，可以省略这一条
    case_t1()
    case_t2()